﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;

namespace SingleBlog.Core.Data
{
    /// <summary>
    /// 分类。
    /// </summary>
    [Table("Categories")]
    public class Category
    {
        /// <summary>
        /// 分类Id。
        /// </summary>
        [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }
        /// <summary>
        /// 分类名称
        /// </summary>
        [Display(Name="分类名称")]
        [Required(ErrorMessage ="{0}不能是空"),StringLength(30,ErrorMessage ="{0}不能超过{1}个字")]
        public string Name { get; set; }

        /// <summary>
        /// 排序，从小到大排序。
        /// </summary>
        public int OrderNo { get; set; }

        /// <summary>
        /// 系统分类
        /// </summary>
        public bool IsSystem { get; set; }

        public virtual ICollection<Article> Articles { get; set; } = new HashSet<Article>();

        /// <summary>
        /// 表示系统内置分类的名称。
        /// </summary>
        public const string DEFAULT_NAME = "默认分类";
    }
}
